package elev.sim;

import java.util.ArrayList;

/**
 * OPIS KLASY
 *
 * @author Marcin Samułek
 */
public class Pietro {

    private int numer;
    private ArrayList<Pasazer> oczekujacy;
    private ArrayList<Pasazer> przywiezieni;
    private boolean gora;   // przycisk w gore
    private boolean dol;    // przycisk w dol

    Pietro(int numer) {
        this.numer = numer;
        this.oczekujacy = null;
        this.gora = false;
        this.dol = false;
        this.oczekujacy = new ArrayList<>();
        this.przywiezieni = new ArrayList<>();
    }

    /**
     *
     * @param id
     * @param ps
     * @param pk
     */
    public void dodajPasazera(int id, int ps, int pk) {
        this.oczekujacy.add(new Pasazer(id, ps, pk));
    }

    /*
     * pasazerowie wciskaja guziki jesli sie nei zimiescili
     */
    public void pushButtons() {
        for (int i = 0; i < this.getOczekujacy(); i++) {
            if (this.oczekujacy.get(i).getKierunek() == true) {
                this.gora = true;
            }
            if (this.oczekujacy.get(i).getKierunek() == false) {
                this.dol = true;
            }
        }
    }

    /**
     * wylaczenie przyciskow.
     */
    public void resetButtons() {
        this.gora = false;
        this.dol = false;
    }

    /**
     *
     * @param p
     */
    public void dodajPrzywiezionego(ArrayList<Pasazer> p) {
        this.przywiezieni.addAll(p);


    }

    /**
     *
     * @return
     */
    public Pasazer usunPasazera() {
        Pasazer p = this.oczekujacy.get(0);
        this.oczekujacy.remove(0);
        return p;
    }

    /**
     *
     * @return
     */
    public int getOczekujacy() {
        return this.oczekujacy.size();
    }

    /**
     *
     * @return
     */
    public int getPrzywezieni() {
        return this.przywiezieni.size();
    }

    /**
     *
     * @return
     */
    public int getPietro() {
        return this.numer;
    }

    public Pasazer getOczekujacyArray(int numer) {
        return this.oczekujacy.get(numer);
    }

    /**
     *
     * @return
     */
    public boolean getGora() {
        return this.gora;
    }

    /**
     *
     */
    public void setGora() {
        this.gora = true;
    }

    /**
     *
     * @return
     */
    public boolean getDol() {
        return this.dol;
    }

    /**
     *
     */
    public void setDol() {
        this.dol = true;
    }
    
        public String getDestinations() {
        String destinations = "";
        for (int i = 0; i < this.oczekujacy.size(); i++) {
            destinations+=this.oczekujacy.get(i).getPietroDocelowe()+1+",";
        }
        return destinations;
    }
}
